#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QVideoWidget>
#include <QMediaPlayer>
#include <QResizeEvent>
#include <QVBoxLayout>
#include <QHBoxLayout>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

public:
    QVideoWidget *m_pvideowidget;
    QMediaPlayer *m_mediaplayer;
    QVBoxLayout *m_layout;
    QHBoxLayout *m_hlayout;

public slots:
    void OnStateChange(QMediaPlayer::State state);

protected:
    void resizeEvent(QResizeEvent *event)
    {
        // 如果有必要，可以在这里手动处理一些大小调整
        // 例如，确保视频播放区域在窗口调整时自动填充父窗口
        m_pvideowidget->resize(event->size());

        // 调用基类的 resizeEvent，保证布局管理器正常工作
        QWidget::resizeEvent(event);
        m_layout->activate();
        //adjustSize();
    }

private slots:
    void on_playButton_clicked();

    void on_pauseButton_clicked();

    void updatePosition(qint64 postion);
    void updateDuration(qint64 duration);
    void seekPosition(int position);
    void setVolume(int volume);

    void on_importButton_clicked();

private:
    Ui::Widget *ui;
};
#endif // WIDGET_H
